From a1f8e91be115cc1062cd84f49c06198025e110c4 Mon Sep 17 00:00:00 2001 From: Carlos Laviola Date: Sat, 13 Apr 2013 07:52:42 +0000 Subject: [PATCH] fix-vfp-exceptions Gbp-Pq: Name fix-vfp-exceptions.diff --- fpcsrc/rtl/arm/mathu.inc | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/fpcsrc/rtl/arm/mathu.inc b/fpcsrc/rtl/arm/mathu.inc index bf4815f4..aae676a2 100644 --- a/fpcsrc/rtl/arm/mathu.inc +++ b/fpcsrc/rtl/arm/mathu.inc @@ -281,22 +281,22 @@ function GetExceptionMask: TFPUExceptionMask; Result:=[]; cw:=VFP_GetCW; - if (cw and _VFP_ENABLE_IM)<>0 then + if (cw and _VFP_ENABLE_IM)=0 then include(Result,exInvalidOp); - if (cw and _VFP_ENABLE_DM)<>0 then + if (cw and _VFP_ENABLE_DM)=0 then include(Result,exDenormalized); - if (cw and _VFP_ENABLE_ZM)<>0 then + if (cw and _VFP_ENABLE_ZM)=0 then include(Result,exZeroDivide); - if (cw and _VFP_ENABLE_OM)<>0 then + if (cw and _VFP_ENABLE_OM)=0 then include(Result,exOverflow); - if (cw and _VFP_ENABLE_UM)<>0 then + if (cw and _VFP_ENABLE_UM)=0 then include(Result,exUnderflow); - if (cw and _VFP_ENABLE_PM)<>0 then + if (cw and _VFP_ENABLE_PM)=0 then include(Result,exPrecision); end; @@ -308,22 +308,22 @@ function SetExceptionMask(const Mask: TFPUExceptionMask): TFPUExceptionMask; cw:=VFP_GetCW and not(_VFP_ENABLE_ALL); {$ifndef darwin} - if exInvalidOp in Mask then + if not(exInvalidOp in Mask) then cw:=cw or _VFP_ENABLE_IM; - if exDenormalized in Mask then + if not(exDenormalized in Mask) then cw:=cw or _VFP_ENABLE_DM; - if exZeroDivide in Mask then + if not(exZeroDivide in Mask) then cw:=cw or _VFP_ENABLE_ZM; - if exOverflow in Mask then + if not(exOverflow in Mask) then cw:=cw or _VFP_ENABLE_OM; - if exUnderflow in Mask then + if not(exUnderflow in Mask) then cw:=cw or _VFP_ENABLE_UM; - if exPrecision in Mask then + if not(exPrecision in Mask) then cw:=cw or _VFP_ENABLE_PM; {$endif} VFP_SetCW(cw); -- 2.30.2